// MANUALLY DUMPED [ShaderRegex\ShaderFixes\regex.ini\_Decals]
// Paint on crate
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Mon Sep 16 12:26:49 2019
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
// SV_IsFrontFace           0   x           1    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
// SV_Target                2   xyzw        2   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[15], immediateIndexed
dcl_constantbuffer cb1[211], immediateIndexed
dcl_constantbuffer cb2[10], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_resource_texture2darray (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (uint,uint,uint,uint) t4
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o2.xyzw
dcl_temps 10
dcl_constantbuffer cb13[4], immediateIndexed
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
ftou r0.xy, v0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r0.x, r0.xyzw, t4.xyzw
ine r0.y, cb0[14].x, l(0)
and r0.xz, r0.xxxx, l(4, 0, 128, 0)
ieq r0.xz, r0.xxzx, l(4, 0, 128, 0)
not r0.w, r0.y
and r0.xz, r0.yywy, r0.xxzx
or r0.x, r0.x, r0.z
mul r0.yz, v0.xxyx, cb1[140].zzwz
sample_l_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t1.yxzw, s2, l(0.000000)
mul r1.xyzw, v0.yyyy, cb0[1].xyzw
mad r1.xyzw, v0.xxxx, cb0[0].xyzw, r1.xyzw
mad r1.xyzw, r0.yyyy, cb0[2].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[3].xyzw
div r1.xyz, r1.xyzx, r1.wwww

ld_indexable(texture2d)(float,float,float,float) r7.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r6.xyzw, l(0, 0, 0, 0), t120.xyzw
mov r8.xyz, r1.xyz
mov r8.w, l(1.0)
mul r9.xyzw, r8.yyyy, cb13[1].xyzw
mad r9.xyzw, r8.xxxx, cb13[0].xyzw, r9.xyzw
mad r9.xyzw, r8.zzzz, cb13[2].xyzw, r9.xyzw
mad r9.xyzw, r8.wwww, cb13[3].xyzw, r9.xyzw
add r7.w, r9.w, -r7.y
mul r7.w, r7.w, cb1[140].x
mul r7.w, r7.w, l(0.5)
// mul r7.w, r7.w, r6.w
mad r9.x, r7.w, -r7.x, r9.x
mul r8.xyzw, r9.yyyy, cb0[1].xyzw
mad r8.xyzw, r9.xxxx, cb0[0].xyzw, r8.xyzw
mad r8.xyzw, r9.zzzz, cb0[2].xyzw, r8.xyzw
mad r8.xyzw, r9.wwww, cb0[3].xyzw, r8.xyzw
mov r1.xyz, r8.xyz

add r2.xyz, r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.z, r2.y, r2.x
or r0.z, r2.z, r0.z
discard_nz r0.z
add r2.xyz, -r1.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.z, r2.y, r2.x
or r0.z, r2.z, r0.z
discard_nz r0.z
add r0.y, -r0.y, l(0.875000)
lt r0.y, r0.y, l(0.000000)
discard_nz r0.y
mad r0.yzw, r1.xxyz, l(0.000000, 0.500000, 0.500000, 0.500000), l(0.000000, 0.500000, 0.500000, 0.500000)
mul r0.zw, r0.wwwz, cb2[3].xxxy
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.zwzz, t2.xyzw, s0
mul r2.xyz, r1.xyzx, cb2[6].xyzx
ge r1.w, l(0.000000), cb1[210].w
if_z r1.w
  add r1.w, cb1[210].w, l(-1.000000)
  div r1.w, r1.w, cb1[210].w
  div r2.w, l(0.500000), cb1[210].w
  mad r3.xyz, r2.xzyx, r1.wwww, r2.wwww
  mad r1.w, r3.y, cb1[210].w, l(-0.500000)
  round_ni r2.w, r1.w
  add r1.w, r1.w, -r2.w
  add r2.w, r2.w, r3.x
  div r3.y, r2.w, cb1[210].w
  mov r3.w, l(0)
  sample_indexable(texture2darray)(float,float,float,float) r4.xyz, r3.yzwy, t0.xyzw, s1
  div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), cb1[210].w
  add r3.x, r2.w, r3.y
  sample_indexable(texture2darray)(float,float,float,float) r3.xyz, r3.xzwx, t0.xyzw, s1
  add r3.xyz, -r4.xyzx, r3.xyzx
  mad r3.xyz, r1.wwww, r3.xyzx, r4.xyzx
  mad r1.xyz, -r1.xyzx, cb2[6].xyzx, r3.xyzx
  mad r2.xyz, cb1[210].xyzx, r1.xyzx, r2.xyzx
endif
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.zwzz, t3.xyzw, s0
add r0.z, r1.y, cb2[7].w
mul_sat r0.z, r0.z, cb2[8].z
dp2 r0.w, r1.xxxx, cb2[8].wwww
add r1.x, -r1.z, l(1.000000)
add r0.w, r0.w, -r1.x
mul_sat r0.w, r0.w, cb2[9].x
mul_sat r0.w, r0.w, cb2[9].y
mad r0.y, r0.y, l(2.000000), l(-1.000000)
mad_sat r0.y, -|r0.y|, l(4.000000), l(4.000000)
mul r0.y, r0.y, cb0[13].x
mul r0.y, r0.y, cb0[13].y
mov_sat o0.xyz, r2.xyzx
mul r0.y, r0.y, r0.w
mad o2.x, r0.z, cb1[146].y, cb1[146].x
add r1.xyzw, v0.xyxy, l(-1.000000, 0.000000, 1.000000, 0.000000)
mul r2.xyzw, r1.xyzw, cb1[140].zwzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r2.xyxx, t1.yzxw, s2, l(0.000000)
mul r3.xyzw, r1.yyyy, cb1[45].xyzw
mad r3.xyzw, r1.xxxx, cb1[44].xyzw, r3.xyzw
mad r3.xyzw, r0.zzzz, cb1[46].xyzw, r3.xyzw
add r3.xyzw, r3.xyzw, cb1[47].xyzw
div r3.xyz, r3.zxyz, r3.wwww
add r3.xyz, r3.xyzx, -cb1[71].zxyz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r2.zwzz, t1.yzxw, s2, l(0.000000)
mul r2.xyzw, r1.wwww, cb1[45].xyzw
mad r1.xyzw, r1.zzzz, cb1[44].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb1[46].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb1[47].xyzw
div r1.xyz, r1.zxyz, r1.wwww
add r1.xyz, r1.xyzx, -cb1[71].zxyz
add r2.xyzw, v0.xyxy, l(0.000000, -1.000000, 0.000000, 1.000000)
mul r4.xyzw, r2.xyzw, cb1[140].zwzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r4.xyxx, t1.yzxw, s2, l(0.000000)
mul r5.xyzw, r2.yyyy, cb1[45].xyzw
mad r5.xyzw, r2.xxxx, cb1[44].xyzw, r5.xyzw
mad r5.xyzw, r0.zzzz, cb1[46].xyzw, r5.xyzw
add r5.xyzw, r5.xyzw, cb1[47].xyzw
div r5.xyz, r5.yzxy, r5.wwww
add r5.xyz, r5.xyzx, -cb1[71].yzxy
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r4.zwzz, t1.yzxw, s2, l(0.000000)
mul r4.xyzw, r2.wwww, cb1[45].xyzw
mad r2.xyzw, r2.zzzz, cb1[44].xyzw, r4.xyzw
mad r2.xyzw, r0.zzzz, cb1[46].xyzw, r2.xyzw
add r2.xyzw, r2.xyzw, cb1[47].xyzw
div r2.xyz, r2.yzxy, r2.wwww
add r2.xyz, r2.xyzx, -cb1[71].yzxy
add r2.xyz, -r2.xyzx, r5.xyzx
dp3 r0.z, r2.xyzx, r2.xyzx
rsq r0.z, r0.z
mul r2.xyz, r0.zzzz, r2.xyzx
add r1.xyz, -r3.xyzx, r1.xyzx
dp3 r0.z, r1.xyzx, r1.xyzx
rsq r0.z, r0.z
mul r1.xyz, r0.zzzz, r1.xyzx
mul r3.xyz, r2.xyzx, r1.xyzx
mad r1.xyz, r1.zxyz, r2.yzxy, -r3.xyzx
dp3 r0.z, cb0[4].xyzx, cb0[4].xyzx
rsq r0.z, r0.z
mul r2.xyz, r0.zzzz, cb0[4].xyzx
dp3 r0.z, r1.xyzx, r2.xyzx
ge r0.z, cb0[13].z, r0.z
not r0.x, r0.x
or r0.x, r0.x, r0.z
movc r0.x, r0.x, l(0), r0.y
mov o0.w, r0.x
mov o2.yz, l(0,0,0,0)
mov o2.w, r0.x
ret
// Approximately 0 instruction slots used
